package dto

// CreateFavoriteReq 创建收藏请求
type CreateFavoriteReq struct {
	Type     string `json:"type" binding:"required"`      // 收藏类型
	TargetId int64  `json:"target_id" binding:"required"` // 收藏对象ID
	Title    string `json:"title" binding:"required"`     // 收藏对象标题
	Cover    string `json:"cover"`                        // 封面图片
	Remark   string `json:"remark"`                       // 备注
}

// UpdateFavoriteReq 更新收藏请求
type UpdateFavoriteReq struct {
	Id     int64  `json:"id" binding:"required"` // 收藏ID
	Remark string `json:"remark"`                // 备注
	Status int    `json:"status"`                // 状态
}

// ListFavoriteReq 查询收藏列表请求
type ListFavoriteReq struct {
	Type   string `form:"type"`                                 // 收藏类型
	Status int    `form:"status"`                               // 状态
	Page   int    `form:"page" binding:"required,min=1"`        // 页码
	Size   int    `form:"size" binding:"required,min=1,max=50"` // 每页大小
}

// FavoriteResp 收藏响应
type FavoriteResp struct {
	Id         int64  `json:"id"`          // 收藏ID
	Type       string `json:"type"`        // 收藏类型
	TargetId   int64  `json:"target_id"`   // 收藏对象ID
	Title      string `json:"title"`       // 收藏对象标题
	Cover      string `json:"cover"`       // 封面图片
	Remark     string `json:"remark"`      // 备注
	Status     int    `json:"status"`      // 状态
	CreateTime string `json:"create_time"` // 创建时间
}

// ListFavoriteResp 收藏列表响应
type ListFavoriteResp struct {
	Total int64           `json:"total"` // 总数
	List  []*FavoriteResp `json:"list"`  // 列表
}
